// 先引入组件
import Skeleton from './Skeleton'
import Slider from './Slider'
import More from './More'
import Bread from './Bread'
import BreadItem from './Bread/Item.vue'
import infiniteLoad from './infiniteLoad'
import City from './City'
import XtxNumber from './Number'
import Button from './Button'
import CheckBox from './CheckBox'
import Message from './Message'
// vue3注册
/* 以.vue文件的方式全局注册，定义一个插件，在插件中把所有需要全局化得组件放到一起维护 */
export default { // 以对象形式定义
  install (app) {
    app.component('XtxSkeleton', Skeleton)// 第一个参数是组件名称，第二个是组件名
    app.component(Slider.name, Slider)
    app.component(More.name, More)
    app.component(Bread.name, Bread)
    app.component(BreadItem.name, BreadItem)
    app.component(infiniteLoad.name, infiniteLoad)
    app.component(City.name, City)
    app.component(XtxNumber.name, XtxNumber)
    app.component(Button.name, Button)
    app.component(CheckBox.name, CheckBox)
    app.component(Message.name, Message)
  }
}

// vue2如何全局注册组件 Vue.component('组件名称',组件配置项(可以是一个对象
// ，也可以是一个又.vue文件产出的组件对象))

// 第一种
// Vue.component('Button', {
//   data () { },
//   computed: {

//   }
// })
// 第一个参数是组件的名称，第二个参数是组件本身得一个对象
// 这个对象可以完全由自己支配，也可以使用.vue
// 第二种
// import Button from '地址'
// Vue.component('Button', Button)

/* vue2 如何注册插件
vue.use(这里面放插件得引用(名称))
插件有两种定义方法
两种定义方式：
第一种：对象定义，当以对象定义的时候必须提供install方法
第二种：函数定义，函数本身会被当成install执行
//plugin1
const plugin1 = {
    install (vue) {//传进来之后就会方便的拿到当前vue函数这个对象
          Vue.commponent()//这样就可以调用
          Vue.prototype.$http = function(){}
    }
}

Vue.use(plugin1) //自动执行插件的install方法，并且把构造函数Vue当成实参传入到install方法中

 //plugszin2
function plugin2(vue){}
Vue.use(plugin2)

*/
